package com.github.common.extend.demo.config.desensitization.meta;

import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Collections;
import java.util.List;

/**
 * 脱敏菜单
 * @author wangjj7
 * @date 2022/8/1
 * @description
 */
@Accessors(chain = true)
@Data
public class MenuMeta<M extends PropertyMeta> {

    public static final String INTERVAL = ".";

    /**
     * 命名空间
     */
    private String namespace;

    /**
     * 菜单对外编码
     */
    private String code;

    /**
     * 菜单列表
     */
    private List<String> menuList;

    /**
     * 条件属性
     */
    private String conditionProperty;

    /**
     * 菜单下包含的敏感属性
     */
    private List<M> properties = Collections.EMPTY_LIST;

    public String key(){
        if (namespace == null || "".equals(namespace)){
            return code;
        }else {
            return namespace + INTERVAL + code;
        }
    }

}
